10. 2D Vectors and For Loops
2D Vectors and For Loops
Because 2D vectors are just vectors inside a vector, a 2D vector has the same methods as a 1D vector.
That way the cout code from the example works:
for (int row = 0; row < twodvector.size(); row++) {
for (int column = 0; column < twodvector[0].size(); column++) {
cout << twodvector[row][column] << " ";
}
cout << endl;
When you type twodvector.size()
, that will give you the size of the outside vector. The outside vector had five elements, which represents the number of rows in the matrix being represented:
{2 2 2}
{2 2 2}
{2 2 2}
{2 2 2}
{2 2 2}
When you write twodvector[0].size()
, you are taking the first element of the outside vector, [2 2 2], and asking for the size of that vector, which in this case is three. So essentially the for loop is saying:
for (int row = 0; row < 5; row++) {
for (int column = 0; column < 3; column++) {
cout << twodvector[row][column] << " ";
}
cout << endl;